On-Board Diagnostics, or OBD, in an automotive context, is a generic term referring to a vehicle's self-diagnostic and reporting capability. OBD systems give the vehicle owner or a repair technician access to state of health information for various vehicle sub-systems. The amount of diagnostic information available via OBD has varied widely since the introduction in the early 1980s of on-board vehicle computers, which made OBD possible. Early instances of OBD would simply illuminate a malfunction indicator light, or MIL, if a problem was detected—but would not provide any information as to the nature of the problem. Modern OBD implementations use a standardized fast digital communications port to provide realtime data in addition to a standardized series of diagnostic trouble codes, or DTCs, which allow one to rapidly identify and remedy malfunctions within the vehicle.
Contents |
The regulatory intent of OBD-I was to encourage auto manufacturers to design reliable emission control systems that remain effective for the vehicle's "useful life". The hope was that by forcing annual emissions testing for California , and denying registration to vehicles that did not pass, drivers would tend to purchase vehicles that would more reliably pass the test. OBD-I was largely unsuccessful, as the means of reporting emissions-specific diagnostic information was not standardized. Technical difficulties with obtaining standardized and reliable emissions information from all vehicles led to an inability to implement effectively the annual testing program.
OBD 1.5 refers to a partial implementation of OBD-II which General Motors used on some vehicles in 1994 and 1995 (GM did not use the term OBD 1.5 in the documentation for these vehicles - they simply have an OBD and an OBD-II section in the service manual.)
For example, the 94-95 Corvettes have one post-catalyst oxygen sensor (although they have two catalytic converters), and have a subset of the OBD-II codes implemented. For a 1994 Corvette the implemented OBD-II codes are P0116-P0118, P0131-P0135, P0151-P0155, P0158, P0160-P0161, P0171-P0175, P0420, P1114-P1115, P1133, P1153 and P1158.[3]
This hybrid system was present on the GM H-body cars in 94-95, W-body cars (Buick Regal, 94 Buick LeSabre, Chevrolet Lumina ('95 only), Chevrolet Monte Carlo ('95 only), Pontiac Grand Prix, Oldsmobile Cutlass Supreme) in 94-95, L-body (Chevrolet Beretta/Corsica) in 94-95, Y-body (Chevrolet Corvette) in 94-95, on the F-body (Chevrolet Camaro and Pontiac Firebird) in 95 and on the J-Body (Chevrolet Cavalier and Pontiac Sunfire) and N-Body (Buick Skylark, Oldsmobile Achieva, Pontiac Grand Am) in 95.
The pinout for the ALDL connection on these cars is as follows:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
For ALDL connections, pin 9 is the data stream, pins 4 and 5 are ground and pin 16 is battery voltage.
An OBD 1.5 compatible scan tool is required to read codes generated by OBD 1.5.
Additional vehicle-specific diagnostic and control circuits are also available on this connector. For instance, on the Corvette there are interfaces for the Class 2 serial data stream from the PCM, the CCM diagnostic terminal, the radio data stream, the airbag system, the selective ride control system, the low tire pressure warning system and the passive keyless entry system.[4]
An OBD1.5 has also been used on Mitsubishi cars of '95 '97 vintage, some 1995 Volkswagen VR6's and in the Ford Scorpio since 95.[5]
OBD-II is an improvement over OBD-I in both capability and standardization. The OBD-II standard specifies the type of diagnostic connector and its pinout, the electrical signalling protocols available, and the messaging format. It also provides a candidate list of vehicle parameters to monitor along with how to encode the data for each. There is a pin in the connector that provides power for the scan tool from the vehicle battery, which eliminates the need to connect a scan tool to a power source separately. However, some technicians might still connect the scan tool to an auxiliary power source to protect data in the unusual event that a vehicle experiences a loss of electrical power due to a malfunction. Finally, the OBD-II standard provides an extensible list of DTCs. As a result of this standardization, a single device can query the on-board computer(s) in any vehicle. This OBD-II came in 2 models OBD-IIA and OBD-IIB.
The OBD-II specification provides for a standardized hardware interface—the female 16-pin (2x8) J1962 connector. Unlike the OBD-I connector, which was sometimes found under the hood of the vehicle, the OBD-II connector is required to be within 2 feet of the steering wheel (unless an exemption is applied for by the manufacturer, in which case it is still somewhere within reach of the driver). SAE J1962 defines the pinout of the connector as:
The assignment of unspecified pins is left to the vehicle manufacturer's discretion.
EOBD is a version of OBD-II required in Europe since Model Year 2003 for diesel vehicles and since 2001 for gasoline vehicles[6]. With Euro V and Euro VI emission standards, EOBD emission thresholds will be lower than previous Euro III and IV. EOBD refers to Europe On-Board Diagnostics.
The term "EOBD2" is a marketing term used by some vehicle manufacturers to refer to manufacturer-specific features that are not actually part of the OBD or EOBD standard.[6] In this case "E" stands for Enhanced.
JOBD is a version of OBD-II for vehicles sold in Japan [7].
There are five signalling protocols currently in use with the OBD-II interface. Any given vehicle will likely only implement one of the protocols. Often it is possible to make an educated guess about the protocol in use based on which pins are present on the J1962 connector:
All OBDII pinouts use the same connector but different pins are utilized with the exception of pin 4 (battery ground) and pin 16 (battery positive).
OBD-II provides access to numerous data from the engine control unit (ECU) and offers a valuable source of information when troubleshooting problems inside a vehicle. The SAE J1979 standard defines a method for requesting various diagnostic data and a list of standard parameters that might be available from the ECU. The various parameters that are available are addressed by "parameter identification numbers" or PIDs which are defined in J1979. For a list of basic PIDs, their definitions, and the formulae to convert raw OBD-II output to meaningful diagnostic units, see OBD-II PIDs. Manufacturers are not required to implement all PIDs listed in J1979 and they are allowed to include proprietary PIDs that are not listed. The PID request and data retrieval system gives access to real time performance data as well as flagged DTCs. For a list of generic OBD-II DTCs suggested by the SAE, see Table of OBD-II Codes. Individual manufacturers often enhance the OBD-II code set with additional proprietary DTCs.
Here is a basic introduction to the OBD communication protocol according to ISO 15031:
Mode $01 is used to identify what Powertrain information is available to the scan tool.
Mode $02 displays Freeze Frame data.
Mode $03 lists the emission-related "confirmed" diagnostic trouble codes stored. It displays exact numeric, 5 digit codes identifying the faults.
Mode $04 is used to clear emission-related diagnostic information. This includes clearing the stored pending/confirmed DTCs and Freeze Frame data.
Mode $05 displays the oxygen sensor monitor screen and the test results gathered about the oxygen sensor.
There are ten numbers available for diagnostics:
Mode $06 is a Request for On-Board Monitoring Test Results for Continuously and Non-Continuously Monitored System. There are typically a minimum value, a maximum value, and a current value for each non-continuous monitor.
Mode $07 is a Request for emission-related diagnostic trouble codes detected during current or last completed driving cycle. It enables the external test equipment to obtain "pending" diagnostic trouble codes detected during current or last completed driving cycle for emission-related components/systems. This is used by service technicians after a vehicle repair, and after clearing diagnostic information to see test results after a single driving cycle to determine if the repair has fixed the problem.
Mode $08 could enable the off-board test device to control the operation of an on-board system, test, or component.
Mode $09 is used to retrieve vehicle information. Among others, the following information is available:
Mode $0A lists emission-related "permanent" diagnostic trouble codes stored. As per CARB, any diagnostic trouble codes that is commanding MIL on and stored into non-volatile memory shall be logged as a permanent fault code.
Currently OBD-II defines 9 modes of operation, all 9 are supported by the APEX with specialized software to minimize communication overhead.
OBD-II Mode 1 Request data by PID Send 01XX(CR) CR=Carriage Return, ASCII code 13 XX= PID byte Receive Returns single message string – example V486B10410536CA(CR)
OBD-II Mode 2 Request Freeze Frame Data Send 02-PID-Frame-CR Frame is always 00 Receive single message string – example send 020000 – PID=00, show all supported Mode2 PIDs Rec. - V416B104200007F980000(CR)
OBD-II Mode 3 Request Trouble Codes Send 03(CR) Receive Single or multiple messages, refer to SAE-J1979 for complete specifications V0A416B104304010000000099 – indicates trouble code P0401
OBD-II Mode 4 Clear Codes and reset Malfunction Lamp Send 04(CR) Receive V486B10444436(CR) if successful, anything else means unsuccessful
OBD-II Mode 5 Legacy O2 Sensor Test Results Send 05 TID O2sensor CR -050001(CR) Receive Returns single message string – example: Send 050001(CR) Rec-V0B486B0E4500010000000108 (CR) If TID or O2 not supported then response will be V(CR) Refer toSAE-J1979 for full information
OBD-II Mode 6 Send For non-CAN systems send:06 TID – CR, TID=Test ID, usually defined by the vehicle manufacturer. For CAN vehicles send 06-#of TID’s-TID1-TID2….TID6 You should zero fill unused PIDs. Receive Returns single or multiple message string – example: Send-0600, Receive -V0B486B0E4600FF0001818109 (CR) – From ISO9141 Honda If TID not supported then response will be V(CR)~
For CAN, to get the results of TID 01, O2 Sensor Monitor Bank 1-Sensor 1, send 060101(CR), the vehicle replies: V101C4601010A0E68210000FFFF01800A2217401002FFFF 0123810E01CF00E60B24B8000000000000 Please see ISO-15031-5 for the description of the 28 byte reply.
OBD-II Mode 7 Pending Codes Send 07(CR) Receive Single or multiple messages, refer to SAE-J1979 for complete specifications.
OBD-II Mode 8 Control the operation of an on-board system, test or component. Send 08 TID DataA-DataB-DataC-DataD-DataE Receive V486B1048-TID-D0-D1-D2-D3-D4(CR) Example: Send 08010000000000(CR) Rec. V0A416B104801000000000085 A response of ‘VERR’ means the data buffer to transmit did not contain sufficient characters to form a message.
OBD-II Mode 9 Read VIN, Calibration Numbers. For NON-CAN OBD the VIN is 17 characters for vehicles that provide electronic access to the VIN. VIN characters shall be reported as ASCII values. The response consists of the following messages: Message #l shall contain three filling bytes of $00, followed by VIN character #l Message #2 shall contain VIN characters #2 to #5 inclusive Message #3 shall contain VIN characters #6 to #9 inclusive Message #4 shall contain VIN characters #lO to #13 inclusive Message #5 shall contain VIN characters #14 to #17 inclusive
Send 09-01-PID-(CR) Receive Send 090102(CR) to get VIN. Multiple messages, CAN Bus example : - response to 090102 for CAN communications V101449020131465421505731343532352246423235323338.
Legacy OBD Example: Send 0902(CR) Receive: V0A416B1049020539000000A30A416B1049020434363938DE0A416B1 049020333594E42AE0A416B1049020258313757F90A416B1049020131 46545278
In all cases, if the vehicle did not respond to an OBD request, only a ‘V’ followed by a (CR) will be sent. One more thing about the OBD-II communication. When a Mode 01, PID 00 command is issued, every OBD-II PCM in the vehicle will respond. Usually there is only one PCM, but some cars will have two, an engine controller and a transmission controller. This can lead to extra work in sorting out responses from multiple ECU’s when acquiring data. The APEX default settings will only receive bus messages from the lowest number ECU ( the Engine Controller) responding to a 00-01 command. This keeps the clutter out and simplifies user software.
Various tools are available that plug in to the OBD connector to access OBD functions. These range from simple generic consumer level tools to highly sophisticated OEM dealership tools.
A wide range of rugged hand-held scan tools is available.
A PC-based OBD analysis tool such as the Durametric[8] system use a proprietary adapter, or a more universal (in numbers manufactured) adapter. Interfaces may be opto isolated or not. Opto isolation can prevent ground loops between the vehicle under test and a ground of the PCs electrical system. The interface will convert the OBDII signals to serial data (USB or serial port) standard to PCs or Macs. The software then decodes the received data to a visual display.
In addition to the functions of a hand-held scan tool, the PC-based tool offers:
The extent that a PC tool may access manufacturer or vehicle-specific ECU diagnostics varies between software products as it does between hand-held scanners.
While a moderately priced cable/adapter may be used with free software (such as Opendiag[9], Freediag[10], and pyOBD[11]), the cost of some professional OBD software may match the cost of advanced hand-held tools.
Data loggers are designed to capture vehicle data while the vehicle is in normal operation, for later analysis.
Data logging uses include:
Analysis of vehicle black box data may be performed on a periodic basis, automatically transmitted wirelessly to a third party or retrieved for forensic analysis after an event such as an accident, traffic infringement or mechanical fault.
In the United States, many states now use OBD-II testing instead of tailpipe testing in OBD-II compliant vehicles (1996 and newer). Since OBD-II stores trouble codes for emissions equipment, the testing computer can query the vehicle's onboard computer and verify there are no emission related trouble codes and that the vehicle is in compliance with emission standards for the model year it was manufactured.
Driver's supplementary vehicle instrumentation is instrumentation installed in a vehicle in addition to that provided by the vehicle manufacturer and intended for display to the driver during normal operation. This is opposed to scanners used primarily for active fault diagnosis, tuning, or hidden data logging.
Auto enthusiasts have traditionally installed additional gauges such as manifold vacuum, battery current etc. The OBD standard interface has enabled a new generation of enthusiast instrumentation accessing the full range of vehicle data used for diagnostics, and derived data such as instantaneous fuel economy.
Instrumentation may take the form of dedicated trip computers[14][15], carputer or interfaces to PDAs[16], smartphones[17], or a Garmin navigation unit[18].
As a carputer is essentially a PC, the same software could be loaded as for PC-based scan tools and vice-versa, so the distinction is only in the reason for use of the software.
These enthusiast systems may also include some functionality similar to the other scan tools.